package com.practices2.util.bitmaptools;

import java.io.File;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;


public class ImagesListActivity extends Activity {

//	public static final String PATH = "/safeimages/";
//	public static String STORE_PATH = "";
//
//	static {
//		String status = Environment.getExternalStorageState();
//		if (status.equals(Environment.MEDIA_MOUNTED)) {
//			File storeFile = Environment.getExternalStorageDirectory();
//			String basePath = storeFile.getPath();
//			File destDir = new File(basePath, PATH);
//			STORE_PATH = destDir.getPath();
//			if (!destDir.exists()) {
//				destDir.mkdirs();
//			}
//		}
//	}
//
//	private ListView lvImages = null;
//
//	private ImageCaheAdapter adapter = null;
//	private Handler handler = new Handler();
//	private BitmapLoader loader = null;
//	private Bitmap bitmapLoading = null;
//
//	@Override
//	protected void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//		requestWindowFeature(Window.FEATURE_NO_TITLE);
//		setContentView(R.layout.activity_main);
//		lvImages = (ListView) findViewById(R.id.lvList);
//		// 初始化缓存,大小可以按照自己需要进行调节
//		initCache();
//		adapter = new ImageCaheAdapter();
//		lvImages.setAdapter(adapter);
//		lvImages.setOnScrollListener(new OnScrollListener() {
//
//			@Override
//			public void onScrollStateChanged(AbsListView view, int scrollState) {
//				if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING) {
//					loader.setPause(true);
//				} else {
//					loader.setPause(false);
//				}
//			}
//
//			@Override
//			public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//
//			}
//		});
//		lvImages.setOnItemClickListener(new OnItemClickListener() {
//
//			@Override
//			public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
//				BigImageActivity.lauchSelft(ImagesListActivity.this, pos);
//			}
//		});
//		bitmapLoading = BitmapFactory.decodeResource(ImagesListActivity.this.getResources(), R.drawable.loading);
//	}
//
//	private void initCache() {
//		int cacheSize = Math.round(Runtime.getRuntime().maxMemory() >> 12);
//		BitmapLruCache cache = new BitmapLruCache(cacheSize);
//		loader = new BitmapLoader(cache, STORE_PATH, getResources().getDisplayMetrics().widthPixels, 100);
//	}
//
//	class ImageCaheAdapter extends BaseAdapter {
//		public class ImageHolder {
//			public ImageView image;
//		}
//
//		@Override
//		public int getCount() {
//			return TestData.imageUrls.length;
//		}
//
//		@Override
//		public Object getItem(int position) {
//			return TestData.imageUrls[position];
//		}
//
//		@Override
//		public long getItemId(int position) {
//			return position;
//		}
//
//		@Override
//		public View getView(int position, View convertView, ViewGroup parent) {
//			ImageHolder viewHolder = null;
//			if (convertView == null) {
//				viewHolder = new ImageHolder();
//				convertView = LayoutInflater.from(ImagesListActivity.this.getApplicationContext()).inflate(R.layout.image_list_item, null);
//				viewHolder.image = (ImageView) convertView.findViewById(R.id.ivItem);
//				convertView.setTag(viewHolder);
//			} else {
//				viewHolder = (ImageHolder) convertView.getTag();
//			}
//
//			String url = TestData.imageUrls[position];
//			
//			SafeBitmap safeBitmap = loader.getCahe(NameUtils.generateKey(url));
//			// 如果cache有直接加载cache
//			if (null != safeBitmap && null != safeBitmap.bitmap) {
//				viewHolder.image.setImageBitmap(safeBitmap.bitmap);
//			} else {
//				// 加载图片
//				viewHolder.image.setImageBitmap(bitmapLoading);
//				
//				loader.loadBitmap(viewHolder.image, TestData.imageUrls[position], new LoadBitmapListener() {
//
//					@Override
//					public void onFinish(final ImageView view, final Bitmap bitmap) {
//						handler.post(new Runnable() {
//							@Override
//							public void run() {
//
//								view.setImageBitmap(bitmap);
//							}
//						});
//					}
//
//					@Override
//					public void onError(final ImageView view) {
//						handler.post(new Runnable() {
//							@Override
//							public void run() {
//								view.setImageBitmap(BitmapFactory.decodeResource(ImagesListActivity.this.getResources(), R.drawable.loading_error));
//							}
//						});
//
//					}
//
//				});
//			}
//			return convertView;
//		}
//
//	}
//
//	@Override
//	protected void onPause() {
//		// 这里我们要清掉缓存,但不设置回收标志位
//		if (null != loader) {
//			loader.cleanCache(false);
//		}
//		super.onPause();
//	}
//
//	@Override
//	protected void onResume() {
//		// 这里我们重新设置缓存
//		initCache();
//		super.onResume();
//	}
//
//	@Override
//	protected void onDestroy() {
//		// 清掉缓存并设置标志位
//		if (null != loader) {
//			loader.cleanCache(true);
//		}
//		super.onDestroy();
//	}

}
